草庐IT

Ruby Regex 舍入尾随零

全部标签

java - 如何正确显示最多两位小数(美分)的价格,包括 Java 中的尾随零?

Java中有一个关于四舍五入小数的好问题here.但我想知道如何在我的程序中包含尾随零以显示价格,例如:$1.50、$1.00简单的解决方案String.format("%.2g%n",0.912385);工作正常,但如果它位于最后一位小数,则省略尾随零。即使我只使用这样的表达式,我的程序也会出现这个问题:doubleprice=1.50;当我对不同的价格进行计算(相加、相乘等)时,结果主要显示如下:$2.5000000000000003因此,使用String.format可以很好地实现此目的,但它将上面的示例截断为$2.5有没有正确的方法来显示小数点后第二位的尾随零?或者如果计算的输

java - 将整个单词与前导或尾随特殊符号(如字符串中的美元)匹配

我可以使用Matcher.quoteReplacement来替换美元符号。我可以通过添加边界字符来替换单词:from="\\b"+from+"\\b";outString=line.replaceAll(from,to);但我似乎无法将它们组合起来用美元符号替换单词。这是一个例子。我正在尝试用“register1”替换“$temp4”(不是$temp40)。Stringline="add,$temp4,$temp40,42";Stringto="register1";Stringfrom="$temp4";StringoutString;from=Matcher.quoteReplac

java - 如何将 DateTime 舍入到最近的 Period

我希望能够将任何给定的Instant舍入到最接近的Period支持数据分组。即有人可能想按2周时间分组,因此给定瞬间,我希望能够计算出最近的瞬间(之前或after)在“现在”被认为是结束的周期边界上当前期间。如果今天是星期二,那么考虑这2周本周结束。给定任何日期(从现在开始)我会喜欢计算它适合的“2周期间”。//pseudocodePeriodsevenDays=Days.SEVEN;InstantnearestWeek=sevenDays.roundToNearest(newDateTime());PeriodtwelveHours=Hours.hours(12);Instantne

java - 在 java Float.parseFloat 中舍入

给定以下代码,我希望它返回“float=32000.0001”。但相反,它返回“float=32000.0”。System.out.println("float="+Float.parseFloat("32000.0001"));我可以做些什么来防止/控制舍入?我希望不四舍五入地返回完整值。 最佳答案 float只有24位精度,不足以保存您的值的位数。四舍五入不是由于解析,而是由于数字的大小。如果需要float,则必须使用double,如果需要任意精度,则必须使用BigDecimal。

java - 在Java中将字符串转换为 float 而不对其进行舍入

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:RoundinginjavaFloat.parseFloat我想将字符串转换为float我说:System.out.println(Float.parseFloat("1553781.9829"));输出:1553782.0我说:System.out.println(Float.valueOf("1553781.9829"));输出:1553782.0如何在不损失精度的情况下得到float?

java - 使用空字符串作为分隔符拆分字符串会产生前导空字符串但不会产生尾随空字符串

这个问题在这里已经有了答案:JavaStringsplitremovedemptyvalues(5个答案)关闭5年前。假设您在Java中有这个表达式:"adam".split("")这是告诉Java使用空字符串("")作为分隔符来拆分"adam"。这产生:["","a","d","a","m"]为什么Java在开头包含一个空字符串,但在末尾不包含?使用这个逻辑,结果不应该是:["","a","d","a","m",""]

java - 计算由阶乘产生的数字的尾随零

我正在尝试计算由阶乘产生的数字的尾随零(意味着数字变得非常大)。以下代码接受一个数字,计算该数字的阶乘,并计算尾随零。但是,当数字大约与25!一样大时,numZeros不起作用。publicstaticvoidmain(String[]args){BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));doublefact;intanswer;try{intnumber=Integer.parseInt(br.readLine());fact=factorial(number);answer=numZero

java - 如何制作接受尾随垃圾的 DateTimeFormatter?

我正在改造一些旧的SimpleDateFormat代码以使用新的Java8DateTimeFormatter。SimpleDateFormat,因此旧代码接受日期之后的字符串,例如“20130311nonsense”。我创建的DateTimeFormat为这些字符串抛出DateTimeParseException,这可能是正确的做法,但我想保持兼容性。我可以修改我的DateTimeFormat以接受这些字符串吗?我目前正在这样创建它:DateTimeFormatter.ofPattern("yyyyMMdd") 最佳答案 使用par

Java - 从字节数组中修剪尾随空格

我有类似这样的字节数组:[77,83,65,80,79,67,32,32,32,32,32,32,32]大致等于[M,S,A,P,O,C,,,,,,,]whenprintedaschars.现在我想修剪尾随的空格,使其看起来像:[77,83,65,80,79,67]最简单的方法是什么?编辑:我不想处理字符串,因为存在不可打印字节的可能性,而且我不能承受丢失该数据的后果。它需要是字节数组:(每当我转换为字符串时,01(SOH)02(STX)等字节都会丢失。编辑2:只是为了澄清。如果我将字节数组转换为字符串,我会丢失数据吗?现在有点迷糊了。如果字节是不同的字符集怎么办?

java - 从 double 中删除尾随零

如果数字没有,我想删除所有尾随零而不截断或四舍五入。例如,数字可能类似于12.0,在这种情况下,应删除尾随零。但这个数字也可能是几乎不合理的东西,比如12.9845927346958762...一直在屏幕边缘。有没有一种方法可以设置DecimalFormat或其他一些类来削减尾随零,同时保持不合理性不变? 最佳答案 如果您愿意切换到BigDecimal,则有一个#stripTrailingZeroes()实现此目的的方法。 关于java-从double中删除尾随零,我们在StackOve